package com.cloudfun.campusshare.common.model.dto.kjt;

import com.cloudfun.campusshare.util.DateUtil;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.time.format.DateTimeFormatter;

/**
 * Created by Huqin on 2020/8/6
 */
@Data
@ApiModel("快捷通通知baseDTO")
public class KjtNotifyBaseDTO {

    /**
     * [32]
     * 通知的唯一标识
     */
    @JsonProperty("notify_id")
    private String notifyId;

    /**
     * [32]
     * 通知类型
     * 注册异步通知类型为：regedit_sync
     * 注册审核通知类型为：audit_sync
     * 委托提现通知：entrust_withdrawal_status_sync
     * 转账通知：withdrawal_status_sync
     * 批量代付：batched_withdrawal_status_sync
     * 权限审核异步通知类型为：permission_apply_sync
     * 结算银行账户变更异步通知类型为：change_bank_card_sync
     * 进件通知类型：inst_apply_sync
     * 交易通知此字段为：trade_status_sync
     * 退款通知此字段为：refund_status_sync
     */
    @JsonProperty("notify_type")
    private String notifyType;

    /**
     * 通知时间，格式[yyyyMMddHHmmss]
     */
    @JsonProperty("notify_time")
    private String notifyTime;
    public static final DateTimeFormatter NOTIFY_TIME_FORMATTER = DateUtil.DATE_TIME_FORMATTER_NO_SEP;

    /**
     * [10]
     * 编码方式，和商户请求中的字符集编码一样
     * 默认取值：UTF-8
     */
    @JsonProperty("_input_charset")
    private String inputCharset;

    /**
     * [256]
     * 对报文摘要的签名
     */
    private String sign;

    /**
     * [10]
     * 签名方式
     */
    @JsonProperty("sign_type")
    private String signType;

    /**
     * [8]
     * 接口版本号，1.0
     */
    private String version;

}
